User interfaces for computer programs and operating systems are well-known in the art. At first, such interfaces were entirely text based, and thus primitive, difficult to use, and lacking in functionality. This limitation, too, restricted their use primarily to a small segment of the population consisting of advanced skill computer users. With the advent of graphical interfaces by Xerox, Apple, Microsoft, etc., the use of computers has expanded dramatically to touch upon the entire potential consuming public. Furthermore, the use of graphical interfaces has improved the functionality of computers significantly, so that functions that once required numerous lengthy text based input parameters can now be performed by simple iconic replacements. For example, the task of copying a file from one system drive to another once required extensive knowledge of the exact syntax format of the system, combined with lengthy keyboard data entry. Now, such function can be performed simply by clicking a mouse button on a graphical representation of such file on the first drive, and then manually dragging and dropping such file onto another icon representing the second drive. Utility, productivity, etc., have all increased substantially now because tasks that once required numerous cumbersome operations can now be performed in a fraction of the time, and without lengthy operator training procedures. This is due, in part, to the fact that most users can intuitively grasp the nature of a function when it is presented in visual form to mimic a real-life manual operation; in this case, the act of moving a file (represented in icon form to resemble a paper document) from one location (represented in icon form as a filing cabinet) to another (represented in icon form as a different filing cabinet). For a useful background reference on this topic, a reference by Schneiderman, entitled "Designing the User Interface," is recommended.
To date, nonetheless, graphical interfaces have been used in computer applications (those programs running under the operating system) primarily for processing only objective data items. For purposes of the present disclosure, a distinction is loosely made between data items that are objective - i.e., can be quantified by some known benchmark outside the user's mental/cognitive impressions - and subjective, i.e., those data items that are primarily based on the user's personal preferences. As an example, an objective data item might be the temperature at a particular location and time; this can be represented by a data value - i.e., some number in Centigrade - that can be identified/verified by another measurement tool. Similarly, the amount of money in one's bank account can be quantified numerically with a known denomination. In contemporary programming form, this collection of data from the user shows up in, among other places, personal financial planning programs, which might ask a user to identify the real rate of return (a % number) expected/desired by the user for his/her investments.
In contrast, a subjective data item could be the personal enjoyment an individual attains as a result of listening a particular piece of music, the importance they assign to one factor that is part of particular choice they make, etc. For instance, a typical person purchasing an automobile could rank the following in the order of importance in their selection of a particular model: price, performance, comfort, insurance, and so on. Similarly, when asked why a specific course of action was taken, such as selling an equity position in a company, an individual might identify that he/she thought the price had reached a subjective target value, or that the company was lagging its competitors, or that the local newspaper ran a negative article on the company, etc., etc.
It should be understood that these are but typical examples, and it is apparent that a multitude of similar situations arise each day in connection with a person's experiences/interactions with the world around them. The above, of course, is a very limited explanation of the general differences between subjective and objective data items, and, of course, should be understood as such. There may be a relationship between the two, as for example when an objective data item (the occurrence of an event such as the announcement of a new product by a company) affects and/or results in a subjective data item (a person deciding to buy the company's stock). Thus, this classification is intended merely as an illustrative tool for explaining the basis of the present invention, and should not be taken as a limitation on any of the teachings set forth herein.
Some typical reasons why contemporary programs do not handle such subjective information, include, of course, the fact that few such programs are able to translate this information into machine-manipulable form so that meaningful conclusions can be drawn from the same, and that such results can be conveyed in some intelligent fashion to the user. Fewer still are able to collect this data in an efficient, user-friendly manner; those that do collect subjective data items do so using relatively primitive techniques. For example, the same personal financial planning program described above might ask a user to identify the level of risk he/she is willing to accept, by placing an electronic check mark on a screen form listing such options as "High," "Medium," "Low," etc. Similarly, a conventional on-line purchasing/marketing form might ask the user to identify on a scale of 1-10 the importance of various features of a product. To receive the user's input, an electronic representation of a sliding scale might be presented to the user, which he/she can manipulate and set with a computer mouse to a particular value. This is one means of effectuating the graphical object - action interface described above, but is somewhat limited because the user is required to adopt and accept the graphical objects, tools, and options presented to express his/her choices.
The general problems associated with interfaces that attempt to extract individual subjective data items include the fact that: (1) they rely on non-graphical interfaces, which make them unattractive, unintuitive and unfriendly to prospective users; (2) they present the user with a limited set of objects and interactions for his/her use; in other words, an online questionnaire for example might ask only about the four most important variables as perceived by the vendor, when in fact there may be a whole slew of factors important to the potential customer filling out such questionnaire; (3) they do not permit a user to ignore those items that are not of interest in the provided for universe of parameters; instead, they require the user to fill out page after page of questions, many of which may not be relevant or important to such user; (4) they take too much time to complete because they require cumbersome keyboard operations, and this results in poor data yield caused solely by user impatience; (5) they often require users to provide actual arithmetic or mathematical data input to represent data values perceived only subjectively by such users; in other words, if they ask a user to rate car characteristics, such person might have to assign a color parameter of a car as a "5," and a price parameter of such car as an "8". Later, the user might believe that the acceleration time is also important, and he/she would then be forced to compute some new value that is appropriate relative to the other numerical values already provided for other parameters. Furthermore, consideration of a new parameter might require scaling or re-adjustment of all prior values for other parameters. Such arithmetic manipulation is cumbersome and beyond the capability or interest level of many potential users of such programs.
It is apparent that many of these same problems are inherent in conventional objective data collection/presentation systems, to the extent they even utilize a graphical interface. Accordingly, such systems would benefit from a solution that ameliorates such problems.